using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Thaire.Investment.Domains.Transaction
{

    public class FixIncomeSecuritiesHeader 
    {
        #region Properties
        // FIXINCOMESECURITIES_HEADER_ID
        public virtual int FixincomesecuritiesHeaderId { set; get; }
        // COMPANY_NAME
        public virtual String CompanyName { set; get; }
        // COMPANY_ID
        public virtual int? CompanyId { set; get; }
        // MATURITY_STATUS
        public virtual String MaturityStatus { set; get; }
        // FIXED_INCOME_FULLNAME
      //  public virtual String FixedIncomeFullname { set; get; }
        // ISSUER_NAME
        public virtual String IssuerName { set; get; }
        // ISSUER_ID
        public virtual int? IssuerId { set; get; }
        // ISSUER_TYPE_NAME
        public virtual String IssuerTypeName { set; get; }
        // ISSUER_TYPE_ID
        public virtual int? IssuerTypeId { set; get; }
        // SYMBOL
        public virtual String Symbol { set; get; }
        // GUARANTOR_TYPE_NAME
        public virtual String GuarantorTypeName { set; get; }
        // GUARANTOR_NAME
        public virtual String GuarantorName { set; get; }
        // GUARANTOR_OTHER_NAME
        public virtual String GuarantorOtherName { set; get; }
        // GUARANTOR_ID
        public virtual int? GuarantorId { set; get; }
        // ISIN_CODE
        public virtual String IsinCode { set; get; }
        // BOND_TYPE_NAME
        public virtual String BondTypeName { set; get; }
        // BOND_TYPE_ID
        public virtual int? BondTypeId { set; get; }
        // LISTED_STATUS
        public virtual String ListedStatus { set; get; }
        // NUMBER_TIME
        public virtual String NumberTime { set; get; }
        // INITIAL_PAR_UNIT
        public virtual decimal? InitialParUnit { set; get; }
        // CURRENT_PAR_UNIT
        public virtual decimal? CurrentParUnit { set; get; }
        // ISSUE_SIZE
        public virtual int? IssueSize { set; get; }
        // COUPON
        public virtual decimal? Coupon { set; get; }
        // ISSUE_DATE
        public virtual DateTime? IssueDate { set; get; }
        // COUPON_PAYMENT_DATE
        public virtual DateTime? CouponPaymentDate { set; get; }
        // MATURITY_DATE
        public virtual DateTime? MaturityDate { set; get; }
        // CALCULATION_METHOD
        public virtual String CalculationMethod { set; get; }
        // ISSUER_TERM
        public virtual decimal? IssuerTerm { set; get; }
        // PAYMENT_FREQUENCY
        public virtual int? PaymentFrequency { set; get; }
        // RISK_LEVEL
        public virtual String RiskLevel { set; get; }
        // LIQUIDITY_TIER_I_PERCENT
        public virtual int? LiquidityTierIPercent { set; get; }
        // LIQUIDITY_TIER_II_PERCENT
        public virtual int? LiquidityTierIiPercent { set; get; }
        // LIQUIDITY_LOW_LIQUIDITY_PERCENT
        public virtual int? LiquidityLowLiquidityPercent { set; get; }
        // INVOLVED_PARTY_TYPE_ID
        public virtual int? InvolvedPartyTypeId { set; get; }
        // INVOLVED_PARTY_TYPE_NAME
        public virtual String InvolvedPartyTypeName { set; get; }
        // CREATE_USER_ID
        public virtual String CreateUserId { set; get; }
        // CREATE_TS
        public virtual DateTime? CreateTs { set; get; }
        // UPDATE_USER_ID
        public virtual String UpdateUserId { set; get; }
        // UPDATE_TS
        public virtual DateTime? UpdateTs { set; get; }
         public virtual String LiquidityName { set; get; }
         public virtual int? GuarantorTypeID { get; set; }

         public virtual String FixedIncomeFullnameEN { get; set; }

         public virtual int? AssetClassID { get; set; }

         public virtual int? TransactionType { get; set; }

         public virtual String AssetClassEN { get; set; }

         public virtual String FixedIncomeFullnameTH { get; set; }
        #endregion

        

        public override bool Equals(object obj)
        {
            if(obj == null)
                return false;
            if (obj.GetType() != typeof(FixIncomeSecuritiesHeader) && !(obj is FixIncomeSecuritiesHeader))
                return false;
            return ToString().Equals(obj.ToString());
        }

        public override int GetHashCode()
        {
            return ToString().GetHashCode();
        }

        public override string ToString()
        {
            return string.Format("{0}",FixincomesecuritiesHeaderId);
        }




      
    }

   
   
}